package org.jiajie.designpatterndemo.adapter.lxf;

import java.util.concurrent.Callable;

/**
 * @author jay
 */
public class LxfAdapterDemo {

    public static void main(String[] args) {
        Callable<Long> callable = new Task(12345000L);
        /*
         * Thread 就可以接收这个 RunnableAdapter，
         * 因为它实现了 Runnable 接口。
         */
        Thread thread = new Thread(new RunnableAdapter(callable));
        /*
         * Thread 作为调用方，它会调用 RunnableAdapter 的 run() 方法，
         * 在这个 run() 方法内部，又调用了 Callable 的 call() 方法，
         * 相当于 Thread 通过一层转换，间接调用了 Callable 的 call() 方法。
         */
        thread.start();
    }
}
